草庐IT

java - FSDirectory 和 MMap 目录之间的区别?

全部标签

ruby - 类变量和类实例变量之间的区别?

谁能告诉我类变量和类实例变量的区别? 最佳答案 类变量(@@)在类及其所有后代之间共享。类实例变量(@)不被类的后代共享。类变量(@@)让我们有一个类Foo和一个类变量@@i,以及读写访问器@@i:classFoo@@i=1defself.i@@ienddefself.i=(value)@@i=valueendend派生类:classBar我们看到Foo和Bar的@@i值相同:pFoo.i#=>1pBar.i#=>1并改变@@i在一个中改变它在两个中:Bar.i=2pFoo.i#=>2pBar.i#=>2类实例变量(@)让我们创建一

ruby - 将目录添加到 $LOAD_PATH (Ruby)

我见过两种常用的技术,用于将当前正在执行的文件的目录添加到$LOAD_PATH(或$:)。如果您不使用gem,我会看到这样做的好处。显然,一个似乎比另一个更冗长,但有理由优先考虑另一个吗?第一个,冗长的方法(可能有点矫枉过正):$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)))unless$LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))还有更直接、快捷的方法:$:.unshiftFile.dirname(__FILE__)有什么理由比另一个更好

ruby - Ruby 中的 java 接口(interface)等价物是什么?

我们能否像在java中那样在Ruby中公开接口(interface),并强制Ruby模块或类实现接口(interface)定义的方法。一种方法是使用继承和method_missing来实现相同的目的,但是还有其他更合适的方法吗? 最佳答案 Ruby与任何其他语言一样具有接口(interface)。请注意,您必须注意不要将接口(interface)的概念与interface的概念混淆,接口(interface)是一个单元的职责、保证和协议(protocol)的抽象规范。这是Java、C#和VB.NET编程语言中的关键字。在Ruby中,

ruby - 从命令行提供当前目录

有人能给我一个提示,如何使用ruby​​从命令行提供当前目录?如果我可以进行一些系统范围的配置(例如mime类型)并从每个目录简单地启动它,那就太好了。 最佳答案 最简单的方法(感谢AaronPatterson/n0kada):ruby-run-ehttpd.-p9090另一种更复杂的方式:ruby-rwebrick-e"s=WEBrick::HTTPServer.new(:Port=>9090,:DocumentRoot=>Dir.pwd);trap('INT'){s.shutdown};s.start"即使是第一个命令也很难记住

ruby-on-rails - 要更改 ruby​​ 脚本中的目录?

我想创建一个新的Rails应用程序并为该应用程序启动Rails服务器,一切都来自ruby​​脚本。我的代码是这样的:#!/usr/bin/envrubysystem"railsnewmy_app"system"cdmy_app"system"railsserver&"但是,当运行“railsserver&”时,路径不在my_app文件夹中,而是在父文件夹中。有没有办法在脚本中更改目录,以便我可以为新应用程序运行“railsserver”、“rakeabout”和“rakedb:migrate”?我们将不胜感激所有有关提示的工作。 最佳答案

ruby - 在 Ruby 中递归列出目录的一行代码?

在Ruby中获取一组目录(不包括文件)的最快、最优化的单行方法是什么?包含文件怎么样? 最佳答案 Dir.glob("**/*/")#fordirectoriesDir.glob("**/*")#forallfiles除了Dir.glob(foo)你也可以写Dir[foo](但是Dir.glob也可以使用一个block,在这种情况下,它将产生每个路径而不是创建一个数组)。RubyGlobDocs 关于ruby-在Ruby中递归列出目录的一行代码?,我们在StackOverflow上找到一

ruby - 如何在ruby中递归创建目录?

我想将文件存储为/a/b/c/d.txt,但我不知道这些目录是否存在,如果需要需要递归创建它们。如何在ruby​​中做到这一点? 最佳答案 使用mkdir_p:FileUtils.mkdir_p'/a/b/c'_p是父/路径的unix保留,您也可以使用别名mkpath如果这对您更有意义。FileUtils.mkpath'/a/b/c'在Ruby1.9中,FileUtils已从核心中删除,因此您必须要求“fileutils”。 关于ruby-如何在ruby中递归创建目录?,我们在Stack

ruby - 范围生成中 '..'(双点)和 '...'(三点)之间的区别?

我刚刚开始学习Ruby和RubyonRails,并遇到了使用范围的验证代码:validates_inclusion_of:age,:in=>21..99validates_exclusion_of:age,:in=>0...21,:message=>"Sorry,youmustbeover21"起初我认为不同之处在于包含端点,但在我查看的API文档中,它似乎并不重要是..还是...:它总是包含端点。但是,我在irb中做了一些测试,它似乎表明..包括两个端点,而...只包括下限而不包括上限一。这是正确的吗? 最佳答案 document

ruby - `raise "foo "` and ` raise Exception.new ("foo")` 有什么区别?

在技术、哲学、概念或其他方面有什么区别raise"foo"和raiseException.new("foo")? 最佳答案 从技术上讲,第一个引发RuntimeError,消息设置为"foo",第二个引发异常,消息设置为"foo".实际上,使用前者和使用后者之间存在显着差异。简单地说,您可能想要一个RuntimeError不是Exception.没有参数的救援block将捕获RuntimeErrors,但不会捕获Exception秒。所以如果你提出Exception在您的代码中,此代码不会捕获它:beginrescueend为了ca

ruby - Ruby 字符串的 gsub 和 sub 方法有什么区别

我今天仔细阅读了String的文档,我看到了:sub方法,这是我以前从未注意到的。我一直在使用:gsub,看起来它们本质上是一样的。谁能向我解释其中的区别?谢谢! 最佳答案 g代表全局,如全局替换(全部):在irb中:>>"hello".sub('l','*')=>"he*lo">>"hello".gsub('l','*')=>"he**o" 关于ruby-Ruby字符串的gsub和sub方法有什么区别,我们在StackOverflow上找到一个类似的问题: